/**
 * Modern CSS Reset Tweaks
 * ================================================== */
 html {
    -webkit-text-size-adjust: 100%;
  
    &:focus-within {
      scroll-behavior: smooth;
    }
  }
  
  body {
    text-size-adjust: 100%;
    position: relative;
  
    width: 100%;
    min-height: 100vh;
  
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
  }
  
  
  /* Box sizing normalization */
  *,
  ::after,
  ::before {
    box-sizing: border-box;
  }
  
  
  /* Elements that don't have a class get default styles */
  a:not([class]) {
    text-decoration-skip-ink: auto;
  }
  
  
  /**
   * CSS Reset Tweaks
   *
   * http://meyerweb.com/eric/tools/css/reset/
   * v2.0-modified | 20110126
   * License: none (public domain)
   */
  
  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  i,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
  }
  
  /* make sure to set some focus styles for accessibility */
  :focus {
    outline: 0;
  }
  
  /* HTML5 display-role reset for older browsers */
  main,
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block;
  }
  
  ol,
  ul {
    list-style: none;
  }
  
  blockquote,
  q {
    quotes: none;
  
    &:before,
    &:after {
      content: '';
      content: none;
    }
  }
  
  /**
   * Input Reset
   */
  input:required,
  input {
    box-shadow: none;
  }
  
  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset;
    box-shadow: 0 0 0 30px white inset;
  }
  
  input[type=search]::-webkit-search-cancel-button,
  input[type=search]::-webkit-search-decoration,
  input[type=search]::-webkit-search-results-button,
  input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  
  input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
  }
  
  textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
  }
  
  input {
    &:focus {
      outline: none;
    }
  }
  
  /**
   * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
   */
  audio,
  canvas,
  video {
    display: inline-block;
    max-width: 100%;
  }
  
  /**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  
  /**
   * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
   */
  [hidden] {
    display: none;
  }
  
  /**
   * Improve readability when focused and also mouse hovered in all browsers.
   */
  a:active,
  a:hover {
    outline: none;
  }
  
  /* Make images easier to work with */
  img {
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
    height: auto;
  }
  
  /* Make pictures easier to work with */
  picture {
    display: inline-block;
  }
  
  /**
   * Address Firefox 3+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
  button,
  input {
    line-height: normal;
  }
  
  /**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
   * Correct `select` style inheritance in Firefox 4+ and Opera.
   */
  
  button,
  select {
    text-transform: none;
  }
  
  button,
  html input[type="button"],
  input[type="reset"],
  input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    border: 0;
    background: transparent;
  }
  
  /**
   * Re-set default cursor for disabled elements.
   */
  button[disabled],
  html input[disabled] {
    cursor: default;
  }
  
  [disabled] {
    pointer-events: none;
  }
  
  /**
   * 1. Address box sizing set to content-box in IE 8/9.
   */
  input[type="checkbox"],
  input[type="radio"] {
    padding: 0;
  }
  
  /**
   * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
   *    (include `-moz` to future-proof).
   */
  input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
  }
  
  /**
   * Remove inner padding and search cancel button in Safari 5 and Chrome
   * on OS X.
   */
  input[type="search"]::-webkit-search-cancel-button,
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * Remove inner padding and border in Firefox 3+.
   */
  button::-moz-focus-inner,
  input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }
  
  button {
    border: 0;
    background: transparent;
  }
  
  textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
  }
  
  /**
   * Remove most spacing between table cells.
   */
  table {
    border-collapse: collapse;
    border-spacing: 0;
    text-indent: 0;
  }
  
  
  /**
   * Based on normalize.css v8.0.1
   * github.com/necolas/normalize.css
   */
  hr {
    box-sizing: content-box;
    overflow: visible;
    background: #000;
    border: 0;
    height: 1px;
    line-height: 0;
    margin: 0;
    padding: 0;
    page-break-after: always;
    width: 100%;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   */
  pre {
    font-family: monospace, monospace;
    font-size: 100%;
  }
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    border-bottom: none;
    text-decoration: none;
  }
  
  code,
  kbd,
  pre,
  samp {
    font-family: monospace, monospace;
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 75%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -5px;
  }
  
  sup {
    top: -5px;
  }
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 0;
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  button,
  input {
    /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  button,
  select {
    /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
    outline: 0;
  }
  
  
  legend {
    color: inherit;
    white-space: normal;
  
    display: block;
    border: 0;
    max-width: 100%;
    width: 100%;
  }
  
  fieldset {
    min-width: 0;
  }
  
  body:not(:-moz-handler-blocked) fieldset {
    display: block;
  }
  
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    vertical-align: baseline;
  }
  
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  [type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  
  /*
   * Misc
   * ========================================================================== */
  
  template {
    display: none;
  }
  